package com.stable.spider.eastmoney;

import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Component;

// 完成板块排行数据的查询
@Component
@Log4j2
public class BoardSpider {

//    /**
//     * 获取每天top30 etf排行榜
//     * http://quote.eastmoney.com/center/gridlist.html#fund_etf
//     * f2   最新价
//     * f3   涨跌幅
//     * f4   涨跌额
//     * f5	成交量
//     * f6	成交额
//     * f12  代码
//     * f14  名称
//     * f18  昨收
//     */
//    public List<ETFTop30> getEtfTop30() {
//        List<ETFTop30> list = new ArrayList<>();
//        String etfUrl = "http://10.push2.eastmoney.com/api/qt/clist/get?pn=1&pz=30&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f5&fs=b:MK0021,b:MK0022,b:MK0023,b:MK0024&fields=f2,f3,f4,f5,f6,f12,f14,f18&=%s";
//        String url = String.format(etfUrl, Instant.now().toEpochMilli());
//        JSONObject jsonObject = HttpUtil.doGet(url);
//        JSONObject data = jsonObject.getJSONObject("data");
//        if (data.size() > 0) {
//            JSONArray diff = data.getJSONArray("diff");
//            if (diff.size() > 0) {
//                for (int i = 0; i < diff.size(); i++) {
//                    JSONObject result = diff.getJSONObject(i);
//                    ETFTop30 etfTop30 = new ETFTop30();
//                    etfTop30.setTradeDate(Integer.parseInt(DateUtil.getTodayYYYYMMDD()));
//                    etfTop30.setPrice(Double.valueOf(result.get("f2").toString()));
//                    etfTop30.setUpDownRange(Double.valueOf(result.get("f3").toString()));
//                    etfTop30.setUpDownPrice(Double.valueOf(result.get("f4").toString()));
//                    etfTop30.setTradeVolume(Long.valueOf(result.get("f5").toString()));
//                    String f6 = result.get("f6").toString();
//                    if (f6.length()>0) {
//                        String tradePrice = f6.substring(0, f6.length() - 2);
//                        etfTop30.setTradePrice(Long.valueOf(tradePrice));
//                    }
//                    etfTop30.setCode(result.get("f12").toString());
//                    etfTop30.setCodeName(result.get("f14").toString());
//                    etfTop30.setYesterdayPrice(Double.valueOf(result.get("f18").toString()));
//                    list.add(etfTop30);
//                }
//            }
//        }
//        return list;
//    }
//
//
//    /**
//     * 获取概念板块数据
//     * http://quote.eastmoney.com/center/boardlist.html#concept_board
//     * f2   最新价
//     * f3   涨跌幅
//     * f4   涨跌额
//     * f5	成交量
//     * f6	成交额
//     * f12  代码
//     * f14  名称
//     * f18  昨收
//     */
//    public List<ConceptBoardTop20> getConceptBoardTop20() {
//        List<ConceptBoardTop20> list = new ArrayList<>();
//        String etfUrl = "http://95.push2.eastmoney.com/api/qt/clist/get?pn=1&pz=20&po=1&np=1&ut=bd1d9ddb04089700cf9c27f6f7426281&fltt=2&invt=2&fid=f3&fs=m:90+t:3&fields=f2,f3,f4,f12,f14&=%s";
//        String url = String.format(etfUrl, Instant.now().toEpochMilli());
//        JSONObject jsonObject = HttpUtil.doGet(url);
//        JSONObject data = jsonObject.getJSONObject("data");
//        if (data.size() > 0) {
//            JSONArray diff = data.getJSONArray("diff");
//            if (diff.size() > 0) {
//                for (int i = 0; i < diff.size(); i++) {
//                    JSONObject result = diff.getJSONObject(i);
//                    ConceptBoardTop20 conceptBoardTop20 = new ConceptBoardTop20();
//                    conceptBoardTop20.setTradeDate(Integer.parseInt(DateUtil.getTodayYYYYMMDD()));
//                    conceptBoardTop20.setPrice(Double.valueOf(result.get("f2").toString()));
//                    conceptBoardTop20.setUpDownRange(Double.valueOf(result.get("f3").toString()));
//                    conceptBoardTop20.setUpDownPrice(Double.valueOf(result.get("f4").toString()));
//                    conceptBoardTop20.setCode(result.get("f12").toString());
//                    conceptBoardTop20.setCodeName(result.get("f14").toString());
//                    list.add(conceptBoardTop20);
//                }
//            }
//        }
//        return list;
//    }


    public static void main(String[] args) {
        BoardSpider boardSpider = new BoardSpider();
//        System.out.println(boardSpider.getConceptBoardTop20());
    }
}
